# 定义一个父类动物类
class Animal:
    def __init__(self, name, age, color):
        self.name = name
        self.age = age
        self.color = color

    def eat(self):
        print(self.name + "正在吃东西")

    def printAnimal(self):
        print("我是该类特有的方法Animal")

    def printInfo(self):
        print(self.name)
        print(self.age)
        print(self.color)


# 定义一个人的类,使其继承自父类动物类,继承需要在需要继承的类后面加上括号,并写上父类的类名
class People(Animal):
    def __init__(self, name, age, color, demo):
        # 调用父类的构造函数
        super().__init__(name, age, color)
        # 定义一个该类的特有属性,这里已demo为例
        self.demo = demo

    # 定义一个该类特有的方法
    def demo(self):
        print("我是people特有的方法demo")

    # 重写了父类的printInfo方法
    def printInfo(self):
        # 调用父类的printInfo方法
        super().printInfo()
        print("我是重写过后的printInfo方法")


class Cat(Animal):
    def __init__(self, name, age, color, weight):
        super().__init__(name, age, color)
        # 定义该类特有的属性
        self.weight = weight

    def printCat(self):
        print("我是Cat类特有的方法")


cat = Cat("小狸花猫", 2, "red", 15)
people = People("小明", 17, "yellow", "特有的值")

people.printInfo()
